import javax.swing.tree.TreeNode;

public class test {
    /*另一棵树的子树
    https://leetcode.cn/problems/subtree-of-another-tree/description/
    class Solution {
    public boolean isSubtree(TreeNode root, TreeNode subRoot) {
       if(root == null)return false;
        if(isSameTree(root,subRoot)){
            return true;
        }
        if(isSubtree(root.left,subRoot)){
            return true;
        }
        if(isSubtree(root.right,subRoot)){
            return true;
        }
        return false;
    }

     public boolean isSameTree(TreeNode p, TreeNode q) {
        if(p != null && q == null || p == null && q != null ){
            return false;
        }
        if(p == null && q == null){
            return true;
        }
        if(p.val != q.val){
            return false;
        }
          return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
    }
}
检查两棵树是否相同
https://leetcode.cn/problems/same-tree/description/
class Solution {
    public boolean isSameTree(TreeNode p, TreeNode q) {
        if(p != null && q == null || p == null && q != null ){
            return false;
        }
        if(p == null && q == null){
            return true;
        }
        if(p.val != q.val){
            return false;
        }
          return isSameTree(p.left,q.left) && isSameTree(p.right,q.right);
    }
}
反转二叉树
https://leetcode.cn/problems/invert-binary-tree/description/
class Solution {
    public TreeNode invertTree(TreeNode root) {
            if(root == null){
                return null;
            }
            if(root.left == null && root.right ==null){
                return root;
            }
         TreeNode ret  = root.left;
         root.left = root.right;
         root.right = ret;
         invertTree(root.left) ;
         invertTree(root.right);
         return root;

    }
}
   */
}
